home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / apps / 102 / examples / extimdat.c < prev    next >
C/C++ Source or Header  |  1987-01-25  |  3KB  |  97 lines

  1. #include <stdio.h>
  2. #include <osbind.h>
  3. #include <types.h>
  4. extern char *ctime();
  5.  
  6. /* IKB and GEMDOS TIME-date display demo- ST-SHOPPER Dec'86    W.Rostek */
  7. /* exhibit as printed before corrections necessary to make MWC pretty   */
  8. /* The array is filled as follows: year,month,day,hours,minutes,seconds */
  9. /* FUNCTION:                       [0] , [1] , [2] , [3] , [4] , [5]    */
  10. timex(t,s)  long t;
  11. int s[6];
  12. {
  13.         long raw;
  14.         long mask;
  15.         int temp;
  16.  
  17.         raw  = t;
  18.         mask = 0x1f;
  19.         temp = (int) (raw & mask);
  20.         s[5] = 2 * temp;
  21.  
  22.         raw  = t >> 5 ;
  23.         mask = 0x3f;
  24.         temp = (int) (raw & mask);
  25.         s[4] = temp;
  26.  
  27.         raw  = t >> 11 ;
  28.         mask = 0x1f;
  29.         temp = (int) (raw & mask);
  30.         s[3] = temp;
  31.  
  32.         raw  = t >> 16 ;
  33.         mask = 0x1f;
  34.         temp = (int) (raw & mask);
  35.         s[2] = temp;
  36.  
  37.         raw  = t >> 21 ;
  38.         mask = 0xf;
  39.         temp = (int) (raw & mask);
  40.         s[1] = temp;
  41.  
  42.         raw  = t >> 25 ;
  43.         mask = 0x7f;
  44.         temp = (int) (raw & mask);
  45.         temp += 80;
  46.         s[0] = temp;
  47. }
  48. /* FUNCTION */
  49. shotime(s) int s[6];
  50. {
  51.         printf("The date is : %02d/%02d/%02d\n",s[1],s[2],s[0]);
  52.         printf("The time is : %02d:%02d:%02d\n",s[3],s[4],s[5]);
  53. }
  54.  
  55.               /* exctime.c    EXHIBIT    / *  from MWC * /
  56.               #include <types.h>
  57.               main()
  58.               {
  59.                       extern char *ctime();
  60.                       time_t t;
  61.                       time(&t);
  62.                       printf(ctime(&t));
  63.               }                              */
  64. main()
  65. {
  66.         long timedate;
  67.         int td[6];
  68.         long temp;
  69.         int t1;
  70.         long t2;
  71.         long old;
  72.  
  73.         time_t t;
  74.         time(&t);
  75.         printf(ctime(&t));
  76.         printf("The system time and Date:\n");
  77.         timedate = Gettime();
  78.         old      = timedate ;
  79.         timex( timedate,td );
  80.         shotime(td);
  81.  
  82.         printf("\n The GEMDOS time and date:\n");
  83.         t1   = Tgetdate();
  84.         temp = (long) t1;
  85.         temp = temp << 16 ;
  86.         temp &= 0xffff0000L;
  87.         t1   = Tgettime();
  88.         t2   = (long) t1;
  89.         t2   &= 0x0000ffffL;
  90.         temp += t2;
  91.         timex(temp,td);
  92.         shotime(td);
  93.  
  94.         printf("\n EXTIMDAT.*  Demonstration.Touch any Key to Continue:\n");
  95.         Bconin(2);     /* for readable pause - omit if really quick!      */
  96. }
  97.